const mongoose = require('mongoose');
const config = require('../src/config/config');
const { User } = require('../src/models');

/**
 * 为管理员账户创建用户健康信息
 */
async function createAdminHealthProfile() {
  try {
    // 连接到MongoDB
    console.log('正在连接到MongoDB...');
    await mongoose.connect(config.mongoose.url, config.mongoose.options);
    console.log('已连接到MongoDB');

    // 管理员ID
    const adminId = '681816cedd02bf9dbea85af6';
    
    // 检查是否已存在用户信息
    let user = await User.findById(adminId);
    
    if (user) {
      console.log('管理员用户信息已存在，正在更新健康信息...');
      // 更新用户健康信息
      user.nickname = '管理员';
      user.avatar = 'https://placekitten.com/200/200'; // 示例头像
      user.gender = 1; // 1-男性
      user.height = 175; // cm
      user.weight = 70; // kg
      user.age = 35;
      user.activityLevel = 3; // 中度活动
      user.goal = '健康饮食';
      user.dailyCalorieGoal = 2200;
    } else {
      console.log('管理员用户信息不存在，正在创建...');
      // 创建用户健康信息
      user = new User({
        _id: adminId, // 使用管理员ID
        nickname: '管理员',
        avatar: 'https://placekitten.com/200/200', // 示例头像
        gender: 1, // 1-男性
        height: 175, // cm
        weight: 70, // kg
        age: 35,
        activityLevel: 3, // 中度活动
        goal: '健康饮食',
        dailyCalorieGoal: 2200,
        role: 'admin',
        isActive: true
      });
    }
    
    // 保存用户信息
    await user.save();
    console.log('管理员健康信息已创建/更新成功！');
    
    // 退出程序
    process.exit(0);
  } catch (error) {
    console.error('创建管理员健康信息失败:', error);
    process.exit(1);
  }
}

// 执行函数
createAdminHealthProfile(); 